home *** CD-ROM | disk | FTP | other *** search
/ Mission 3 / Mission 3.zip / Mission 3.iso / zugabe / va45 / visual45 / misc / visual41.new < prev   
Text File  |  1997-09-27  |  15KB  |  267 lines

  1.  
  2.     --------------------------------------------
  3.      Gen & Wax VISUAL ASSEMBLEUR version 4.1 pl03
  4.      (c) GenuWax 7 Avril 1997
  5.     --------------------------------------------
  6.  
  7.     * signifie qu'il y a incompatibilité avec la release précédente
  8.       (changement de la structure fenêtre par exemple)
  9.     @ signifie qu'il y a incompatibilité mineure : uniquement si la
  10.       fonction concernée est utilisée (exemple modif dans module XHDI)
  11.  
  12. ----------------------------------------------------------------------------------------
  13. Manipulation pour passer un source écrit pour le VA 4.0 en 4.1 :
  14.  
  15.     Dans le .OBJ :
  16.     1- pour le menu principal :
  17.        mettre 0 dans le champ GWVA_MENU_STRUCT_SCROLL_INDEX par défaut,
  18.        mettre à 1 le bit 4 (GWVA_APP_BIT_MENU) de GWVA_APP_OBJ_FLAGS pour avoir
  19.        le menu principal.
  20.     2- GWVA_APP_OBJ_BACKGROUND_OBJ pointe maintenant sur la structure d'un objet
  21.        fenetre : le 'dc.w x' devient un 'dc.l ptr'. Ce label se nomme maintenant :
  22.        GWVA_APP_OBJ_BACKGROUND_WIND_PTR.
  23.     3- Effacez le bit GWVA_WIN_BIT_ATOOLBAR (0) de GWVA_WIND_OBJ_PROPERTIES
  24.     4- Insérez 3 mots long en début de structure des fenêtres
  25.        (GWVA_WIND_OBJ_FATHER_PTR, GWVA_WIND_OBJ_NEXT_BROTHER_PTR, GWVA_WIND_OBJ_FIRST_SON_PTR)
  26.        et initialisez les à 0.
  27.     5- Si une fenêtre possède une toolbar, il faut créer une nouvelle fenêtre de
  28.        type formulaire, dont le SPEC_PTR pointe sur la structure de votre toolbar.
  29.        Ensuite, faites pointer GWVA_WIND_OBJ_FIRST_SON_PTR sur cette nouvelle fenêtre.
  30.     6- Enlevez le pointeur GWVA_WIND_OBJ_TOOLBAR_SPEC_PTR et GWVA_WIND_OBJ_TOOLBAR_HEIGHT
  31.     7- Enlevez de la structure formulaire les deux mots suivants (GWVA_WFORM_OBJ_FOCUSED_TXT,
  32.        GWVA_WFORM_OBJ_CURSOR_POS), et créez dans la structure de la fenêtre les
  33.        deux mots : GWVA_WIND_OBJ_FOCUSED_OBJECT, GWVA_WIND_OBJ_FOCUSED_OBJ_CURSOR_POS.
  34.        Initialisez le premier avec la valeur de GWVA_WFORM_OBJ_FOCUSED_TXT, ou
  35.        -1 si sa valeur est 0.
  36.     8- Tout ce qui est EXTERNAL* dans la structure fenêtre disparait
  37.     9- GWVA_WIND_OBJ_INTERNAL_X & GWVA_WIND_OBJ_INTERNAL_Y deviennent 
  38.        GWVA_WIND_OBJ_INTERNAL_DX & GWVA_WIND_OBJ_INTERNAL_DY
  39.     10-ajout dans la structure de la fenêe de 
  40.        GWVA_WIND_OBJ_FATHER_PTR+GWVA_WIND_OBJ_NEXT_BROTHER_PTR+GWVA_WIND_OBJ_FIRST_SON_PTR
  41.     11-GWVA_WIND_OBJ_FIRST_X & GWVA_WIND_OBJ_FIRST_Y deviennent
  42.        GWVA_WIND_OBJ_FIRST_DX & GWVA_WIND_OBJ_FIRST_DY
  43.     12-GWVA_WIND_OBJ_CONTENTS_DX & GWVA_WIND_OBJ_CONTENTS_DY
  44.  
  45.     Dans le .DEF
  46.     13-si vous utilisez une TOOLBAR, ajoutez MDL_WIND_TOOLBAR.
  47.     14-si vous faites du multi-formulaire, ajoutez MDL_MULTIFORM.
  48.  
  49. ----------------------------------------------------------------------------------------
  50.  
  51.         -------- En préparation --------
  52.  
  53. - Release 05 by Wax & Gen 
  54.     . GWVA_COUNT_FORM_TEXT_LENGTH retourne aussi dans a0.l un pointeur sur le texte
  55.     . Deux méthodes extraites pour l'objet texte étendu : 
  56.       - GWVA_EXTD_TEXT_OBJ_PRG_SEARCH_NEXT_IDX
  57.       - GWVA_EXTD_TEXT_OBJ_PRG_SEARCH_PREVIOUS_IDX
  58.     @ Changements de nom pour les labels suivants :
  59.       - GWVA_APP_OBJ_CREATE_WINDOW
  60.         devient GWVA_WIND_OBJ_PRG_CREATE_ONE_WIND
  61.       - GWVA_WIND_OBJ_PRG_CREATE_ONE_WIND
  62.         devient GWVA_WIND_OBJ_PRG_CREATE_ONE_GEM_WIND
  63.       - GWVA_APP_OBJ_CREATE_ICONIFIED_WINDOW
  64.         devient GWVA_WIND_OBJ_PRG_CREATE_ONE_ICONIFIED_WIND
  65.     . Nouveau module : MDL_CHILDREN_WINDOWS pour faire des fenêtres dans des fenêtres !
  66.     . Nouvelles procédures :
  67.       - GWVA_WIND_OBJ_PRG_CONVERT_ABSOLUTE_RELATIVE_POS
  68.       - GWVA_WIND_OBJ_PRG_CONVERT_RELATIVE_ABSOLUTE_POS
  69.       - GWVA_WIND_OBJ_PRG_CONVERT_INT_EXT_POS_SIZE
  70.       - GWVA_WIND_OBJ_PRG_CONVERT_EXT_INT_POS_SIZE
  71.       - GWVA_WIND_OBJ_PRG_RETURN_VISIBLE_CONTENTS_ABS_POS_SIZE
  72.       - GWVA_WIND_OBJ_PRG_RETURN_EXT_ABS_POS_SIZE (anciennement GWVA_WIND_OBJ_PRG_RETURN_EXTERNAL_POSITION)
  73.       - GWVA_WIND_OBJ_PRG_RETURN_INT_ABS_POS_SIZE
  74.       - GWVA_WIND_OBJ_PRG_RETURN_MAX_EXT_ABS_POS_SIZE
  75.       - GWVA_WIND_OBJ_PRG_REDUCE_EXT_WH_TO_CONTENTS
  76.  
  77.       - GWVA_WIND_OBJ_PRG_RETURN_NEXT_FAMILY_MEMBER
  78.       - GWVA_WIND_OBJ_PRG_RETURN_TOP_FAMILY_MEMBER
  79.       - GWVA_WIND_OBJ_PRG_RETURN_FOCUSED_CHILD
  80.       - GWVA_WIND_OBJ_PRG_RETURN_CHILD_UNDER_XY
  81.  
  82.       - GWVA_WIND_OBJ_PRG_CREATE_ONE_FAMILY_MEMBER
  83.       - GWVA_WIND_OBJ_PRG_OPEN_ONE_FAMILY_MEMBER
  84.       - GWVA_WIND_OBJ_PRG_CLOSE_ONE_FAMILY_MEMBER
  85.       - GWVA_WIND_OBJ_PRG_DELETE_ONE_FAMILY_MEMBER
  86.       
  87.       - GWVA_WIND_OBJ_PRG_CALC_AND_SET_SIZE_WIND (anciennement GWVA_WIND_OBJ_PRG_CALC_SIZE_WIND)
  88.  
  89.     @ Les personnes utilisant des toolbars, doivent maintenant ajoutter
  90.       GWVA_WIN_BIT_TOOLBAR dans GWVA_WIND_OBJ_PROPERTIES de leur fenêtre et
  91.       la contruire, bien sur, comme étant une fille de la fenêtre mère.
  92.       Il faut laisser MDL_WIND_TOOLBAR qui décale automatiquement tous les
  93.       contenus pour faciliter le placement : on peut ainsi "cascader" les toolbar
  94.       sans rien calculer de leur position. Un nouveau champ de bit des propriétés
  95.       permet de définir le placement de la toolbar soit en haut (par défaut),
  96.       GWVA_WIN_MASK_TOOLBAR_TOP, soit à gauche GWVA_WIN_MASK_TOOLBAR_LEFT, soit
  97.       en bas GWVA_WIN_MASK_TOOLBAR_BOTTOM, soit à droite GWVA_WIN_MASK_TOOLBAR_RIGHT
  98.  
  99.     @ La macro GWVA_WIND_STRUCT_CONTENTS perd ses deux premiers paramètres (CONTENTS_DX,DY)
  100.       qui se retrouvent dans la macro GWVA_WIND_STRUCT_FIRST_GEOMETRY sous le nom FIRST_CONTENTS_DX,DY.
  101.       GWVA_WIND_STRUCT_CONTENTS change de nom et devient GWVA_WIND_STRUCT_SLIDERS
  102.  
  103.     @ La macro GWVA_WIND_STRUCT_FIRST_GEOMETRY change de paramètres :
  104.       FIRST_EXT_DX,FIRST_EXT_DY
  105.       ;FIRST_INT_VISIBLE_W,FIRST_INT_VISIBLE_H
  106.       ;FIRST_CONTENTS_DX,FIRST_CONTENTS_DY;FIRST_CONTENTS_W,FIRST_CONTENTS_H
  107.       ;FIRST_INT_BORDERS_W,FIRST_INT_BORDERS_H
  108.  
  109.     . MDL_WIND_STYLIZED_EDITABLE_TEXT pour des fenêtres texte étendues (éditables+style)
  110.     @ GWVA_WIND_STRUCT_CONTENTS disparait car CONTENTS_DX et CONTENTS_DY deviennent "run-time"
  111.     il faut les reporter dans FIRST_CONTENTS_DX et FIRST_CONTENTS_DY
  112.     les paramètres SLIDER_V_POS,SLIDER_V_SIZE,SLIDER_H_POS,SLIDER_H_SIZE se retrouvent dans
  113.     @ GWVA_WIND_STRUCT_SLIDERS: macro ;SLIDER_V_POS,SLIDER_V_SIZE,SLIDER_H_POS,SLIDER_H_SIZE
  114.  
  115.     . Ajout du bit GWVA_WIN_BIT_FOCUSED dans les statuts de la fenêtre
  116.  
  117.         -------- Déjà distribué --------
  118.  
  119. - Release 04 by Wax & Gen 22/VI/1997
  120.     . Création de la librairie d'accès au clipboard GEM : LIB_GEM_CLIPBOARD
  121.     . implémentation du COPY/CUT/PASTE dans les champs éditables, activer avec :
  122.       MDL_WIND_COPY_PASTE + LIB_GEM_CLIPBOARD et mettre dans le propriétés de la fenêtre :
  123.       GWVA_WIN_MASK_CTRLC / GWVA_WIN_MASK_CTRLV / GWVA_WIN_MASK_CTRLX
  124.     . Création routine de traitement de cookie : GWVA_APP_OBJ_INSTALL_ONE_COOKIE
  125.       conditionnel à l'existence de LIB_INSTALL_COOKIES
  126.     . Nouvelle librairie : LIB_CHANGE_CASE, dont les fonctions sont :
  127.       - PUT_IN_UPPERCASE_0 / PUT_IN_UPPERCASE
  128.       - PUT_IN_LOWERCASE_0 / PUT_IN_LOWERCASE
  129.     . Nouvelle librairie : LIB_FIND_TEXT_IN_FILE fonction RETURN_TEXT_IN_FILE
  130.       exemple : retourne une variable d'env depuis un fichier TXT
  131.     . Positionnement du curseur sous la souris lors d'un clic dans un champs
  132.       éditable - activation par OPT_GWVA_WIND_FORM_CURS_POS_WITH_MOUSE
  133.     . Ajout des structures du DTA et de la page de base
  134.     . Ajout de la macro STOP_ON_0
  135.     . Ajout du protocole ARGV pour le passage de ligne de commande de plus de
  136.       125 octets - activation par OPT_GWVA_APP_ARGV
  137.     . deux nouvelles macros pour créer des fenêtres iconifiées sans soucis !
  138.       - GWVA_WIND_ICONIFIED_STRUCT_BASE    macro NAME,ICON_WIND_PTR,TYPE,SPEC_PTR
  139.       - GWVA_WFORM_ICONIFIED_STRUCT    macro NAME,ICON_WIND_PTR,IDX
  140.     . détection du bug incohérence include RSC_IN_MEM
  141.     @ mise en place de constantes pour paramètres de GWVA_NO_FSEL_CP_BSS_UPDATE_FORM
  142.       et GWVA_CALL_FSEL_CP_BSS_UPDATE_FORM + correction bug FORM No0
  143.     @ Modification du nom de l'objet texte : GWVA_FORM_WIND_OBJECT_GENERIC
  144.       Modification du nom du pointeur de la liste d'évènement de l'ancien objet texte
  145.     . Création d'un nouvel objet Visual : objet texte étendu : GWVA_FORM_WIND_OBJECT_EXTD_TEXT
  146.     . Nouvelle librairie LIB_STING (complétant LIB_STIK qui en est la base)
  147.       incompatibilité sur g_resolve ?
  148.     . Déplacements verticaux dans les champs éditables conservent la position
  149.       du curseur.
  150.     . Un short-cut ne peut plus activer un menu disabled
  151.     @ Pour utiliser les fonctions de création cookie, il faut définir LIB_INSTALL_COOKIES.
  152.     @ Pour pouvoir chercher un cookie il faut maintenant définir LIB_SEARCH_COOKIES.
  153.     @ Pour chercher les cookies à l'init, il faut maintenant définir LIB_SEARCH_SYSTEM_COOKIES.
  154.     @ Pour utiliser les fonctions de retour multiple de sélectrix, il faut
  155.       maintenant définir LIB_SEARCH_SYSTEM_COOKIES.
  156.     @ GWVA_APP_OBJ_COOKIE_BOOT_DEVICE devient GWVA_APP_OBJ_SYSVAR_BOOT_DEVICE
  157.     @ GWVA_APP_OBJ_COOKIE_TOS_VERSION devient GWVA_APP_OBJ_SYSVAR_TOS_VERSION
  158.     @ LIB_FORMULARY devient LIB_MODAL_FORMULARY
  159.     . Nouvel objet : GWVA_FORM_WIND_OBJECT_EXTD_TEXT permet de faire des champs
  160.       de texte éditables chainés, activation avec FORM_OBJ_EXTD_TEXT
  161.       (à voir dans START).
  162.     . Nouvelle fonction : GWVA_COUNT_FORM_TEXT_LENGTH retourne la taille courante
  163.       d'un champs de texte dans un formulaire et la taille max.
  164.     @ Si vous utilisez des textes éditables dans vos fenêtres formulaires, mettez 
  165.       MDL_FORM_EDITABLE_TEXT dans votre .DEF
  166.  
  167. - Release 03 by Wax & Gen & Titou sensei 21/III/1997
  168.     . Correction d'un bug sur la relocation des ressources, pour les
  169.       icones couleurs.
  170.     . Correction de plusieurs bugs relatifs au curseur
  171.     . Optimisation de la routine OBJC_EDIT
  172.     . Correction de la routine OBJC_EDIT : tient compte d'un masque texte d'un
  173.       caractère au milieu d'un champ éditable
  174.     . Ajout d'un squelette de base : ACC_APP.WIN : pour une unique fenêtre de controle (Kobold)
  175.       et renommage de ACC_APP en ACC_APP.MNU pour Menu si APP et Menu dans fenêtre info si ACC
  176.     . H2HS compatible RCS 3.0
  177.     . nouvelle option OPT_GWVA_WIND_FORM_CUSTOM_OBJECTS pour gérer soi-même ses objets
  178.       GWVA_WFORM_OBJ_CUSTOM_OBJ_PRG doit contenir un pointeur sur votre routine de
  179.       traitement associée à tous les types d'objets que le V.A ne connait pas.
  180.       Commencez de les numéroter à partir de $0100 avec des noms commençant par
  181.       GWVA_FORM_WIND_OBJECT_ si vous voulez qu'on les intègre un jour !
  182.     . Ajout du module MDL_GWVA_WIND_CLONING pour cloner simplement des fenêtres
  183.       par la fonction GWVA_WIND_OBJ_PRG_CLONE_ONE_WIND
  184.     . Nouvel objet formulaire : GWVA_FORM_WIND_OBJECT_CLIK_EQUIV sous condition FORM_OBJ_CLICK_EQUIV
  185.     @ Pour accéder aux objets POPUP et RADIO BUTTON, il faut maintenant définir
  186.       respectivement dans le .DEF les définitions FORM_OBJ_POPUP et FORM_OBJ_RADIO_BUTTON
  187.     . Les méthodes des objets VISUAL tels que BOUTON, TEXTE, RADIO ... sont maintenant
  188.       accessibles : vous pouvez donc créer vos propres extentions des objets exitant.
  189.       Par exemple, créer un nouvel objet POPUP qui aurait une routine BEFORE_SELECTION
  190.       Ces méthodes sont regroupés dans Library\Form_obj\
  191.     . Ajout des masques des bits de configuration de l'objet application et
  192.       des objets fenêtres dans les fichiers GWVA_CTE.S, SYST_CTE,S
  193.     . nouvelle librairie pour accéder aux fonctions STIK : LIB_STIK
  194.     . gestion automatique d'un pseudo partage de taches grace au timer GEM :
  195.       Librairie de thread fenêtre : LIB_WIND_THREAD
  196.         - GWVA_WIND_THREAD_MAX_THREAD_NR    : nb thread simultanés
  197.         - GWVA_WIND_THREAD_MAX_PRIORITY_LVL : nb de niveaux de priorité à gérer
  198.         - OPT_GWVA_WIND_THREAD_STATS        : statistiques sur temps d'exec
  199.         - OPT_GWVA_WIND_THREAD_REAL_TIME    : si threads temps réel
  200.     . Ajout du fichier OBJMACRO.S définissant toutes les macros de
  201.       construction des fichiers .OBJ (voir les squelettes de base et Look)
  202.  
  203. - Release 02 by Wax & Gen 16/II/1997
  204.     . Ajout du module PATCH_WIND_FORM_CUSTOM_EDITABLE_TEXT
  205.        Corrige le bug du curseur dans les textes éditables :
  206.            - petit texte sous AES < 4.0
  207.         - clipping du curseur lors du redraw
  208.     . Les évènements menus (MNU_SELECTED) marchent sur Hades : AES TT, Yap !
  209.     . Corrigé bug window bitmap et toolbar
  210.     . Corrigé bug quand fille est décalée (bitmap+texte) PB redraw+slide
  211.     . Ajoutté bibliothèque COMPARE_DISK_FREESPACE (LIB_COMPARE_DISK_FREESPACE)
  212.     . Plus d'appels aux fonctions menu_attach sur TT (HADES)
  213.     . Restauration de la palette système avant l'affichage d'une boite d'alerte
  214.     . Ajout de l'option OPT_GWVA_WIND_REDRAW_HIDE_MOUSE pour éviter d'effacer la
  215.       souris lors du redraw (pour les fenêtres BITMAP pour le moment)
  216.  
  217. - Release 01 by Wax & Gen 30/XI/1996
  218.     * ajout de :
  219.         GWVA_WIND_OBJ_FATHER_PTR:    rs.l 1    ; 0.l si pas d'objet père
  220.         GWVA_WIND_OBJ_NEXT_BROTHER_PTR:    rs.l 1    ; 0.l si pas d'objet frère
  221.         GWVA_WIND_OBJ_FIRST_SON_PTR:    rs.l 1    ; 0.l si pas d'objet fils
  222.         GWVA_WIND_OBJ_FOCUSED_OBJECT:    rs.w 1    ; numéro de l'objet ayant le focus en premier (-1 sinon)
  223.         GWVA_WIND_OBJ_FOCUSED_OBJ_CURSOR_POS:rs.w 1    ; position du curseur (recalculée par le V.A.)
  224.         GWVA_WIND_OBJ_FIRST_DX:        rs.w 1    ; position externe de la fenêtre relativement à l'écran pour la fenêtre, 
  225.         GWVA_WIND_OBJ_FIRST_DY:        rs.w 1    ; relative à la fenêtre la contenant pour la toolbar (-32768 pour centrer)
  226.         GWVA_WIND_OBJ_INTERNAL_DX:    rs.w 1    ; position du coin supèrieur gauche interne de la fenêtre
  227.         GWVA_WIND_OBJ_INTERNAL_DY:    rs.w 1    ; par rapport à sa mère (par rapport au bureau pour la fenêtre racine)
  228.         GWVA_WIND_OBJ_CONTENTS_DX:    rs.w 1    ; position du coin supèrieur gauche du contenu
  229.         GWVA_WIND_OBJ_CONTENTS_DY:    rs.w 1    ; par rapport sa fenêtre
  230.         GWVA_WIN_BIT_HIDETREE        = 0    ; bit signifiant si une toolbar est prise en compte (0) ou non (1)
  231.  
  232.     . nouveau type de fenêtre : GWVA_WIND_TYPE_UNDEF
  233.     * GWVA_WIN_BIT_ATOOLBAR n'est plus utilisé et est remplacé par GWVA_WIN_BIT_HIDETREE
  234.     * suppression de :
  235.         GWVA_WIND_OBJ_TOOLBAR_SPEC_PTR
  236.         GWVA_WIND_OBJ_TOOLBAR_HEIGHT
  237.         GWVA_WFORM_OBJ_FOCUSED_TXT
  238.         GWVA_WFORM_OBJ_CURSOR_POS
  239.         GWVA_WIND_OBJ_EXTERNAL_X
  240.         GWVA_WIND_OBJ_EXTERNAL_Y
  241.         GWVA_WIND_OBJ_EXTERNAL_W
  242.         GWVA_WIND_OBJ_EXTERNAL_H
  243.         GWVA_WIND_OBJ_EXTERNAL_MAX_W
  244.         GWVA_WIND_OBJ_EXTERNAL_MAX_H
  245.         GWVA_WIND_OBJ_FIRST_X
  246.         GWVA_WIND_OBJ_FIRST_Y
  247.         GWVA_WIND_OBJ_INTERNAL_X
  248.         GWVA_WIND_OBJ_INTERNAL_Y
  249.  
  250. - Release 00 by Wax & Gen 10/XI/1996
  251.     . ajout du bit GWVA_APP_BIT_MENU (bit 4) dans GWVA_APP_OBJ_FLAGS pour autoriser
  252.       le menu principal de l'application
  253.     . GWVA_APP_OBJ_BACKGROUND_OBJ.w devient GWVA_APP_OBJ_BACKGROUND_WIND_PTR.l
  254.       et pointe sur une structure de fenetre (du type formulaire pour le moment)
  255.     . utilisez OPT_DEBUG_IN_ACCESSORY_MODE pour simuler l'execution d'un APP
  256.       en ACC (ac_open)
  257.     . supporte les menus dans les fenetres : MDL_WIND_MENU.
  258.       définir OPT_GWVA_WIND_MENU_TIMER pour obtenir les évènements TIMER, même
  259.       lorsque les menus sont activés.
  260.     * ATTENTION : remplir le champ GWVA_MENU_STRUCT_SCROLL_INDEX avec
  261.           0 par défaut et non -1 comme avant
  262.     * ajouté :    . MDL_WIND_TOOLBAR (à définir si vous utilisez une toolbar)
  263.         . MDL_MULTIFORM (pour faire du multi-formulaire)
  264.     @ modifié GWVA_MULTIFORM_ALWAYS_UPDATE en OPT_GWVA_MULTIFORM_ALWAYS_UPDATE
  265.  
  266.  
  267. [EOF]